++2(nil, y) -> y
++2(x, nil) -> x
++2(.2(x, y), z) -> .2(x, ++2(y, z))
++2(++2(x, y), z) -> ++2(x, ++2(y, z))
↳ QTRS
↳ DependencyPairsProof
++2(nil, y) -> y
++2(x, nil) -> x
++2(.2(x, y), z) -> .2(x, ++2(y, z))
++2(++2(x, y), z) -> ++2(x, ++2(y, z))
++12(++2(x, y), z) -> ++12(x, ++2(y, z))
++12(++2(x, y), z) -> ++12(y, z)
++12(.2(x, y), z) -> ++12(y, z)
++2(nil, y) -> y
++2(x, nil) -> x
++2(.2(x, y), z) -> .2(x, ++2(y, z))
++2(++2(x, y), z) -> ++2(x, ++2(y, z))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ QDPOrderProof
++12(++2(x, y), z) -> ++12(x, ++2(y, z))
++12(++2(x, y), z) -> ++12(y, z)
++12(.2(x, y), z) -> ++12(y, z)
++2(nil, y) -> y
++2(x, nil) -> x
++2(.2(x, y), z) -> .2(x, ++2(y, z))
++2(++2(x, y), z) -> ++2(x, ++2(y, z))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
++12(++2(x, y), z) -> ++12(x, ++2(y, z))
++12(++2(x, y), z) -> ++12(y, z)
++12(.2(x, y), z) -> ++12(y, z)
POL( ++2(x1, x2) ) = 2x1 + 2x2 + 2
POL( .2(x1, x2) ) = 2x1 + 2x2 + 2
POL( nil ) = 2
POL( ++12(x1, x2) ) = max{0, 2x1 - 1}
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
++2(nil, y) -> y
++2(x, nil) -> x
++2(.2(x, y), z) -> .2(x, ++2(y, z))
++2(++2(x, y), z) -> ++2(x, ++2(y, z))